Yes. Using a ‘Lookup’ tile, you can look through your records to see if a match exists. If one does, then the Lookup tile becomes “defined", and will output a value. If you were looking for exising records with the same data in the "Name" Field (for instance), create a Lookup tile with the same Field in the first three holes [Lookup "Name" for "Name" = "Name"], and select the Relation you are working in for the 4th hole. Plug the Lookup tile into a ‘Defined’ tile. Plug the Defined tile into the 1st hole of an ‘If Then Else’ tile, and place the completed Abacus on the Template used for your entry form. When the Lookup tile is defined, the message you type into the “Then” hole will be displayed on this form. If you select this Abacus as the validation for the Field, it will prevent the entry of the record until the problem is resolved (see documentation for Data Validation for more details).
• Why is the total on my form blank?
1. If you are adding together a number of field entries with plus “+” tiles, all of the fields on the form must be assigned a value. Otherwise, if just one field is undefined, the entire calculation will be undefined. To create an automatic default to ‘0’, use the ‘Undefined becomes’ tile in the calculation in the following manner: undefined ‘value a’ becomes ‘0’ + undefined ‘value b’ becomes ‘0’... and so on. This type of calculation will add together numbers when they are present, and substitute “0” when no entry is present in a particular field.
2. If you are using a Total or Sub-total tile, you should use these tiles with the ‘Undefined becomes’ tile if you wish to insure that they always return a value (such as “0”). If none of the records they scan are defined, they will be undefined and not return a value. This may be necessary under some circumstances, but may not be desirable in others, including many financial applications.
• How can I sequentially number my records?
1. Create a field, with a number-type format (name the Field icon “Record #”, or something similar). This field will be used as a Calculation Retain (an Abacus and a Field icon in the same rectangle).
2.Make a calculation with the ‘Max’ tile. In the tile hole, place the Record # Field icon. Make an addition calculation with this tile that reads “Max [Record#] + 1”. Insert this Abacus into the same data rectangle as the Field icon ‘Record #.” The Abacus will take the maximum value stored so far in the Record # Field icon and add 1 to it. Note that you must type in “1” (or whatever starting number you like) for the first entry. Remember to build an index on the field.
• How do I connect If/Then/Else tiles together?
Typically, you would plug one If/Then/Else Tile into the last hole (Else) of the preceding tile. If you have two or more values that belong in the Else part of the calculation, instead of inserting a value, plug in another If/Then/Else tile, and continue the selection process. You can then create a chain of these statements. [It is not unusual to plug one of these Tiles into either or both of the last two holes.]
• The ‘Else’ in my If/Then/Else tile is not executing. What’s wrong?
If the result of the ‘If’ test is undefined, the tile becomes undefined. In other words, Undefined is not the same as False.
• Why don’t all my Abacus icons appear on the list in another Abacus?
Helix does not allow you to use any Abacus that references the current Abacus. This keeps you from creating a situation where Helix needs to calculate the value of Abacus ‘A’ in order to evaluate Abacus ‘B’, and needs to calculate ‘B’ to resolve ‘A’. In more conventional systems, it is possible to make such an error; this type of error is known as an ‘infinite loop.’